package wpwork.service;

import com.baomidou.mybatisplus.extension.service.IService;
import wpwork.base.ActionResult;
import wpwork.base.service.SuperService;
import wpwork.entity.KshGroupEntity;
import wpwork.model.GpsInfoVo;
import wpwork.model.GroupOrPersonDTO;
import wpwork.model.GroupUserTreeVO;
import wpwork.model.PersonByGroupDTO;

import java.util.List;

public interface KshGroupService extends IService<KshGroupEntity>, SuperService<KshGroupEntity> {

    List<KshGroupEntity> getGroupTree();

    ActionResult createGroup(KshGroupEntity group);

    ActionResult updateGroup(KshGroupEntity group);

    ActionResult deleteGroup(Long id);

    ActionResult bindUsersToGroup(Long groupId, List<String> userIds);

    ActionResult unbindUsersFromGroup(Long groupId, List<String> userIds);

    List<String> getGroupUserIds(Long groupId);

    List<Long> getUserGroupIds(String userId);

    List<GroupUserTreeVO> getGroupTreeWithUsers();

    List<GroupOrPersonDTO> getGroupAndPersonList();

    List<PersonByGroupDTO> selectPersonAndGroupName();

}